package com.edocbase.biz.diary.entities;

import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;

import com.edocbase.biz.entity.DataStoreException;

public interface IDiary {
	public static final String DIARY_TYPE = "diary";
	public abstract boolean isContentDirty();
	
	public abstract void setContentDirty(boolean contentDirty);
	
	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getId()
	 */
	public abstract long getId();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setId(long)
	 */
	public abstract void setId(long id);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getCatalogId()
	 */
	public abstract int getCatalogId();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setCatalogId(int)
	 */
	public abstract void setCatalogId(int catalogId);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getCatalogPath()
	 */
	public abstract String getCatalogPath();

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.edocbase.biz.diary.entities.IDiary#setCatalogPath(java.lang.String)
	 */
	public abstract void setCatalogPath(String catalogPath);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getDiaryId()
	 */
	public abstract String getDiaryId();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setDiaryId(java.lang.String)
	 */
	public abstract void setDiaryId(String diaryId);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getDiaryType()
	 */
	public abstract String getDiaryType();

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.edocbase.biz.diary.entities.IDiary#setDiaryType(java.lang.String)
	 */
	public abstract void setDiaryType(String diaryType);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getPath()
	 */
	public abstract String getPath();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setPath(java.lang.String)
	 */
	public abstract void setPath(String path);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#increaseVersion()
	 */
	public abstract void increaseVersion();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#save()
	 */
	public abstract void save() throws DataStoreException;

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#delete()
	 */
	public abstract void delete() throws DataStoreException;

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#recycle()
	 */
	public abstract void recycle() throws DataStoreException;

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getTitle()
	 */
	public abstract String getTitle();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setTitle(java.lang.String)
	 */
	public abstract void setTitle(String title);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getContentId()
	 */
	public abstract String getContentId();

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.edocbase.biz.diary.entities.IDiary#setContentId(java.lang.String)
	 */
	public abstract void setContentId(String contentId);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#isSaveToMail()
	 */
	public abstract boolean isSaveToMail();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setSaveToMail(boolean)
	 */
	public abstract void setSaveToMail(boolean saveToMail);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getVersion()
	 */
	public abstract int getVersion();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setVersion(int)
	 */
	public abstract void setVersion(int version);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getcDate()
	 */
	public abstract Date getcDate();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setcDate(java.util.Date)
	 */
	public abstract void setcDate(Date cDate);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getLastUpdated()
	 */
	public abstract Date getLastUpdated();

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.edocbase.biz.diary.entities.IDiary#setLastUpdated(java.util.Date)
	 */
	public abstract void setLastUpdated(Date lastUpdated);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#getUid()
	 */
	public abstract String getUid();

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.edocbase.biz.diary.entities.IDiary#setUid(java.lang.String)
	 */
	public abstract void setUid(String uid);

	public OutputStream getOutputStream() throws DataStoreException;

	public abstract InputStream getInputStream();
}